package com.jwsoft.manager.core.dao.model;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 参保记录详情历史表
 *
 * @author zhiyuan
 * @since 2023-09-22
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("eduh_social_security_detail")
@Schema(name = "EduhSocialSecurityDetail", title = "参保记录详情历史表", description = "参保记录详情历史表实体类")
public class EduhSocialSecurityDetail extends Model<EduhSocialSecurityDetail> {

    private static final long serialVersionUID = 1L;

    @Schema(name = "aaz223", description = "人员征缴明细ID")
    @TableId(value = "aaz223", type = IdType.ASSIGN_ID)
    private String aaz223;

    @Schema(name = "taskDetailId", description = "任务详情id")
    @TableField(value = "task_detail_id")
    private String taskDetailId;

    @Schema(name = "aaz061", description = "单位征缴明细ID")
    @TableField(value = "aaz061")
    private String aaz061;

    @Schema(name = "baa115", description = "应缴类型明细")
    @TableField(value = "baa115")
    private String baa115;

    @Schema(name = "aaa027", description = "统筹区")
    @TableField(value = "aaa027")
    private String aaa027;

    @Schema(name = "aaa093", description = "承担缴费主体类型::1个体缴2单位缴")
    @TableField(value = "aaa093")
    private String aaa093;

    @Schema(name = "aaa115", description = "应缴类型")
    @TableField(value = "aaa115")
    private String aaa115;

    @Schema(name = "aab001", description = "单位编号")
    @TableField(value = "aab001")
    private String aab001;

    @Schema(name = "aab301", description = "行政区划代码")
    @TableField(value = "aab301")
    private String aab301;

    @Schema(name = "aac001", description = "人员编号")
    @TableField(value = "aac001")
    private String aac001;

    @Schema(name = "aac147", description = "人员身份证")
    @TableField(value = "aac147")
    private String aac147;

    @Schema(name = "aac003", description = "人员姓名")
    @TableField(value = "aac003")
    private String aac003;

    @Schema(name = "aae002", description = "费款所属期（业务年月）")
    @TableField(value = "aae002")
    private String aae002;

    @Schema(name = "aae003", description = "应缴年月")
    @TableField(value = "aae003")
    private String aae003;

    @Schema(name = "aae018", description = "核销退还年月")
    @TableField(value = "aae018")
    private String aae018;

    @Schema(name = "aae020", description = "单位应缴金额")
    @TableField(value = "aae020")
    private String aae020;

    @Schema(name = "aae022", description = "个人应缴金额")
    @TableField(value = "aae022")
    private String aae022;

    @Schema(name = "aae058", description = "总金额")
    @TableField(value = "aae058")
    private String aae058;

    @Schema(name = "aae078", description = "足额到账标志")
    @TableField(value = "aae078")
    private String aae078;

    @Schema(name = "aae079", description = "足额到账年月")
    @TableField(value = "aae079")
    private String aae079;

    @Schema(name = "aae140", description = "险种类型")
    @TableField(value = "aae140")
    private String aae140;

    @Schema(name = "aae180", description = "人员缴费基数")
    @TableField(value = "aae180")
    private String aae180;

    @Schema(name = "socialSecurityId", description = "社保id")
    @TableField(value = "social_security_id")
    private String socialSecurityId;

    @Schema(name = "year", description = "招生年份")
    @TableField(value = "year")
    private Integer year;

    @Schema(name = "encryptStatus", description = "加密状态 0待加密  1加密成功  2加密失败")
    @TableField(value = "encrypt_status")
    private String encryptStatus;

    @Schema(name = "encryptRemarks", description = "加密备注")
    @TableField(value = "encrypt_remarks")
    private String encryptRemarks;

    @Schema(name = "encryptTime", description = "加密时间")
    @TableField(value = "encrypt_time")
    private Date encryptTime;

    @Schema(name = "encryptFlag", description = "是否已加密  1是  0否")
    @TableField(value = "encrypt_flag")
    private String encryptFlag;

    @Schema(name = "cleanFlag", description = "是否销毁 1是 0 否")
    @TableField(value = "clean_flag")
    private String cleanFlag;

    @Override
    public Serializable pkVal() {
        return this.aaz223;
    }
}
